[iOS] Firebase AnalyticsによるIDFA収集を明示的に無効化する
はじめに
CX事業本部の平屋です。
ちょっと前に、担当しているアプリでApp Tracking Transparency対応を行いました。そのアプリでは、AdSupport.frameworkとリンクしておらず、IDFA(広告識別子)を収集していません。
以下の記事などを参考に対応を行いました。
上記記事によると、過去に以下の問題が起こったことがあるようです。
- システムフレームワークがAdSupport.frameworkを動的にロードし、Firebase AnalyticsがIDFAを送信
そうなので、担当しているアプリでは、念の為にFirebase AnalyticsによるIDFA収集を明示的に無効化する対応を行いました。
本記事ではその対応内容と確認方法を紹介します。
検証環境
- macOS Catalina 10.15.6
- Xcode Version 12.4
IDFA収集を明示的に無効化する
IDFA収集(広告のカスタマイズ機能)を明示的に無効化するには、Info.plist
ファイルに以下の値を追加します。
- key:
GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_PERSONALIZATION_SIGNALS
- value:
false
カスタマイズされた広告のデフォルトの動作を設定するには、アプリの Info.plist ファイルで GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_PERSONALIZATION_SIGNALS の値を NO(ブール値)に設定します。 - アナリティクス データの収集と使用方法を構成する | Firebase
plistファイルの形式だと以下の内容になります。
<dict> ... <key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_PERSONALIZATION_SIGNALS</key> <false/> ... </dict> </plist>
動作確認
IDFA収集を無効にすると、特定のユーザープロパティ「non_personalized_ads
」が付与されるようです。
上記のいずれかの方法でユーザーに対して広告のカスタマイズ機能を無効にした場合は、それ以降にこのユーザーのデバイスからログに記録されるイベント バンドルに「non_personalized_ads」というユーザー プロパティが格納され、このバンドル内のイベントをカスタマイズされた広告に使用できないことを示す値 1 が設定されます。 - アナリティクス データの収集と使用方法を構成する | Firebase
そうなので、DebugViewでこのプロパティが付与されることを確認しました。
さいごに
本記事では、Firebase AnalyticsによるIDFA収集を明示的に無効化する方法とその確認方法を紹介しました。どなたかのお役に立てれば幸いです。